package com.hongdee.scm.wareHouse.service;

import com.hongdee.scm.wareHouse.entity.TScmWarehouse;

import java.util.List;
import java.util.Map;

/**
 * 名  称:TScmWarehouseService
 * 类  型:Interface
 * 描  述:
 * 路  径:com.hongdee.scm.wareHouse.service
 * 作  者: 术洪超
 * 日  期:2017-04-28 11:24
 */
public interface ITScmWarehouseService {

    /**
     * @param uid   登录用户 ID
     * @param start 起始记录
     * @param limit 页面大小
     * @return Map
     * @throws Exception
     * @desc 通过 JDBCDao分页查询
     * @author 术洪超
     */
    public Map page(String start, String limit, String uid, Map data) throws Exception;

    /**
     * @param data 要保存实体
     * @param uid  登录人ID
     * @return Map
     * @throws Exception
     * @desc 保存添加或者修改的实体内容，通过主键判断
     * @author 术洪超
     */
    public TScmWarehouse saveOrUpdate(TScmWarehouse data, String uid) throws Exception;

    /**
     * @param uid 登录用户 ID
     * @param id  主键 ID
     * @return ResultEntity
     * @throws Exception
     * @desc 查询详情
     * @author 术洪超
     */
    public Map info(String id, String uid) throws Exception;

    /**
     * @param id 主键 ID
     * @return
     * @throws Exception
     * @desc 启用仓库
     * @author 术洪超
     */
    public void start(String id) throws Exception;

    /**
     * @param id 主键 ID
     * @return
     * @throws Exception
     * @desc 停用仓库
     * @author 术洪超
     */
    public void stop(String id) throws Exception;


    /**
     * @return List<Map>
     * @throws Exception
     * @desc 仓库下拉
     * @author 术洪超
     */
    public List<Map> combo(String uid) throws Exception;


    /**
     * @return List<Map>
     * @throws Exception
     * @desc 仓库下拉（回调）
     * @author 术洪超
     */
    public List<Map> comboIn(String uid, String[] companyId) throws Exception;

    /**
     * @param uid 登录用户 ID
     * @return ResultEntity
     * @throws Exception
     * @desc 查询公司地址，用于添加仓库时的默认地址
     * @author 术洪超
     */

    public Map address(String uid) throws Exception;

    /**
     * @param
     * @return Map
     * @throws Exception
     * @desc 仓库转换
     * @author 徐钦勇
     */
    public Map convert() throws Exception;
    /**
     * @param
     * @return Map
     * @throws Exception
     * @desc   仓库转换编号
     * @author 徐钦勇
     */
    public Map convertCode() throws Exception;
}
